package com.ytjj.qmyx.admin.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PayStatisticsExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public PayStatisticsExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andDausIsNull() {
            addCriterion("daus is null");
            return (Criteria) this;
        }

        public Criteria andDausIsNotNull() {
            addCriterion("daus is not null");
            return (Criteria) this;
        }

        public Criteria andDausEqualTo(Integer value) {
            addCriterion("daus =", value, "daus");
            return (Criteria) this;
        }

        public Criteria andDausNotEqualTo(Integer value) {
            addCriterion("daus <>", value, "daus");
            return (Criteria) this;
        }

        public Criteria andDausGreaterThan(Integer value) {
            addCriterion("daus >", value, "daus");
            return (Criteria) this;
        }

        public Criteria andDausGreaterThanOrEqualTo(Integer value) {
            addCriterion("daus >=", value, "daus");
            return (Criteria) this;
        }

        public Criteria andDausLessThan(Integer value) {
            addCriterion("daus <", value, "daus");
            return (Criteria) this;
        }

        public Criteria andDausLessThanOrEqualTo(Integer value) {
            addCriterion("daus <=", value, "daus");
            return (Criteria) this;
        }

        public Criteria andDausIn(List<Integer> values) {
            addCriterion("daus in", values, "daus");
            return (Criteria) this;
        }

        public Criteria andDausNotIn(List<Integer> values) {
            addCriterion("daus not in", values, "daus");
            return (Criteria) this;
        }

        public Criteria andDausBetween(Integer value1, Integer value2) {
            addCriterion("daus between", value1, value2, "daus");
            return (Criteria) this;
        }

        public Criteria andDausNotBetween(Integer value1, Integer value2) {
            addCriterion("daus not between", value1, value2, "daus");
            return (Criteria) this;
        }

        public Criteria andNewUserIsNull() {
            addCriterion("new_user is null");
            return (Criteria) this;
        }

        public Criteria andNewUserIsNotNull() {
            addCriterion("new_user is not null");
            return (Criteria) this;
        }

        public Criteria andNewUserEqualTo(Integer value) {
            addCriterion("new_user =", value, "newUser");
            return (Criteria) this;
        }

        public Criteria andNewUserNotEqualTo(Integer value) {
            addCriterion("new_user <>", value, "newUser");
            return (Criteria) this;
        }

        public Criteria andNewUserGreaterThan(Integer value) {
            addCriterion("new_user >", value, "newUser");
            return (Criteria) this;
        }

        public Criteria andNewUserGreaterThanOrEqualTo(Integer value) {
            addCriterion("new_user >=", value, "newUser");
            return (Criteria) this;
        }

        public Criteria andNewUserLessThan(Integer value) {
            addCriterion("new_user <", value, "newUser");
            return (Criteria) this;
        }

        public Criteria andNewUserLessThanOrEqualTo(Integer value) {
            addCriterion("new_user <=", value, "newUser");
            return (Criteria) this;
        }

        public Criteria andNewUserIn(List<Integer> values) {
            addCriterion("new_user in", values, "newUser");
            return (Criteria) this;
        }

        public Criteria andNewUserNotIn(List<Integer> values) {
            addCriterion("new_user not in", values, "newUser");
            return (Criteria) this;
        }

        public Criteria andNewUserBetween(Integer value1, Integer value2) {
            addCriterion("new_user between", value1, value2, "newUser");
            return (Criteria) this;
        }

        public Criteria andNewUserNotBetween(Integer value1, Integer value2) {
            addCriterion("new_user not between", value1, value2, "newUser");
            return (Criteria) this;
        }

        public Criteria andActiveUserIsNull() {
            addCriterion("active_user is null");
            return (Criteria) this;
        }

        public Criteria andActiveUserIsNotNull() {
            addCriterion("active_user is not null");
            return (Criteria) this;
        }

        public Criteria andActiveUserEqualTo(Integer value) {
            addCriterion("active_user =", value, "activeUser");
            return (Criteria) this;
        }

        public Criteria andActiveUserNotEqualTo(Integer value) {
            addCriterion("active_user <>", value, "activeUser");
            return (Criteria) this;
        }

        public Criteria andActiveUserGreaterThan(Integer value) {
            addCriterion("active_user >", value, "activeUser");
            return (Criteria) this;
        }

        public Criteria andActiveUserGreaterThanOrEqualTo(Integer value) {
            addCriterion("active_user >=", value, "activeUser");
            return (Criteria) this;
        }

        public Criteria andActiveUserLessThan(Integer value) {
            addCriterion("active_user <", value, "activeUser");
            return (Criteria) this;
        }

        public Criteria andActiveUserLessThanOrEqualTo(Integer value) {
            addCriterion("active_user <=", value, "activeUser");
            return (Criteria) this;
        }

        public Criteria andActiveUserIn(List<Integer> values) {
            addCriterion("active_user in", values, "activeUser");
            return (Criteria) this;
        }

        public Criteria andActiveUserNotIn(List<Integer> values) {
            addCriterion("active_user not in", values, "activeUser");
            return (Criteria) this;
        }

        public Criteria andActiveUserBetween(Integer value1, Integer value2) {
            addCriterion("active_user between", value1, value2, "activeUser");
            return (Criteria) this;
        }

        public Criteria andActiveUserNotBetween(Integer value1, Integer value2) {
            addCriterion("active_user not between", value1, value2, "activeUser");
            return (Criteria) this;
        }

        public Criteria andOrderNumIsNull() {
            addCriterion("order_num is null");
            return (Criteria) this;
        }

        public Criteria andOrderNumIsNotNull() {
            addCriterion("order_num is not null");
            return (Criteria) this;
        }

        public Criteria andOrderNumEqualTo(Integer value) {
            addCriterion("order_num =", value, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumNotEqualTo(Integer value) {
            addCriterion("order_num <>", value, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumGreaterThan(Integer value) {
            addCriterion("order_num >", value, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("order_num >=", value, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumLessThan(Integer value) {
            addCriterion("order_num <", value, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumLessThanOrEqualTo(Integer value) {
            addCriterion("order_num <=", value, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumIn(List<Integer> values) {
            addCriterion("order_num in", values, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumNotIn(List<Integer> values) {
            addCriterion("order_num not in", values, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumBetween(Integer value1, Integer value2) {
            addCriterion("order_num between", value1, value2, "orderNum");
            return (Criteria) this;
        }

        public Criteria andOrderNumNotBetween(Integer value1, Integer value2) {
            addCriterion("order_num not between", value1, value2, "orderNum");
            return (Criteria) this;
        }

        public Criteria andPayNumIsNull() {
            addCriterion("pay_num is null");
            return (Criteria) this;
        }

        public Criteria andPayNumIsNotNull() {
            addCriterion("pay_num is not null");
            return (Criteria) this;
        }

        public Criteria andPayNumEqualTo(Integer value) {
            addCriterion("pay_num =", value, "payNum");
            return (Criteria) this;
        }

        public Criteria andPayNumNotEqualTo(Integer value) {
            addCriterion("pay_num <>", value, "payNum");
            return (Criteria) this;
        }

        public Criteria andPayNumGreaterThan(Integer value) {
            addCriterion("pay_num >", value, "payNum");
            return (Criteria) this;
        }

        public Criteria andPayNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("pay_num >=", value, "payNum");
            return (Criteria) this;
        }

        public Criteria andPayNumLessThan(Integer value) {
            addCriterion("pay_num <", value, "payNum");
            return (Criteria) this;
        }

        public Criteria andPayNumLessThanOrEqualTo(Integer value) {
            addCriterion("pay_num <=", value, "payNum");
            return (Criteria) this;
        }

        public Criteria andPayNumIn(List<Integer> values) {
            addCriterion("pay_num in", values, "payNum");
            return (Criteria) this;
        }

        public Criteria andPayNumNotIn(List<Integer> values) {
            addCriterion("pay_num not in", values, "payNum");
            return (Criteria) this;
        }

        public Criteria andPayNumBetween(Integer value1, Integer value2) {
            addCriterion("pay_num between", value1, value2, "payNum");
            return (Criteria) this;
        }

        public Criteria andPayNumNotBetween(Integer value1, Integer value2) {
            addCriterion("pay_num not between", value1, value2, "payNum");
            return (Criteria) this;
        }

        public Criteria andPayRatioIsNull() {
            addCriterion("pay_ratio is null");
            return (Criteria) this;
        }

        public Criteria andPayRatioIsNotNull() {
            addCriterion("pay_ratio is not null");
            return (Criteria) this;
        }

        public Criteria andPayRatioEqualTo(String value) {
            addCriterion("pay_ratio =", value, "payRatio");
            return (Criteria) this;
        }

        public Criteria andPayRatioNotEqualTo(String value) {
            addCriterion("pay_ratio <>", value, "payRatio");
            return (Criteria) this;
        }

        public Criteria andPayRatioGreaterThan(String value) {
            addCriterion("pay_ratio >", value, "payRatio");
            return (Criteria) this;
        }

        public Criteria andPayRatioGreaterThanOrEqualTo(String value) {
            addCriterion("pay_ratio >=", value, "payRatio");
            return (Criteria) this;
        }

        public Criteria andPayRatioLessThan(String value) {
            addCriterion("pay_ratio <", value, "payRatio");
            return (Criteria) this;
        }

        public Criteria andPayRatioLessThanOrEqualTo(String value) {
            addCriterion("pay_ratio <=", value, "payRatio");
            return (Criteria) this;
        }

        public Criteria andPayRatioLike(String value) {
            addCriterion("pay_ratio like", value, "payRatio");
            return (Criteria) this;
        }

        public Criteria andPayRatioNotLike(String value) {
            addCriterion("pay_ratio not like", value, "payRatio");
            return (Criteria) this;
        }

        public Criteria andPayRatioIn(List<String> values) {
            addCriterion("pay_ratio in", values, "payRatio");
            return (Criteria) this;
        }

        public Criteria andPayRatioNotIn(List<String> values) {
            addCriterion("pay_ratio not in", values, "payRatio");
            return (Criteria) this;
        }

        public Criteria andPayRatioBetween(String value1, String value2) {
            addCriterion("pay_ratio between", value1, value2, "payRatio");
            return (Criteria) this;
        }

        public Criteria andPayRatioNotBetween(String value1, String value2) {
            addCriterion("pay_ratio not between", value1, value2, "payRatio");
            return (Criteria) this;
        }

        public Criteria andPayMoneyIsNull() {
            addCriterion("pay_money is null");
            return (Criteria) this;
        }

        public Criteria andPayMoneyIsNotNull() {
            addCriterion("pay_money is not null");
            return (Criteria) this;
        }

        public Criteria andPayMoneyEqualTo(BigDecimal value) {
            addCriterion("pay_money =", value, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyNotEqualTo(BigDecimal value) {
            addCriterion("pay_money <>", value, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyGreaterThan(BigDecimal value) {
            addCriterion("pay_money >", value, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_money >=", value, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyLessThan(BigDecimal value) {
            addCriterion("pay_money <", value, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_money <=", value, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyIn(List<BigDecimal> values) {
            addCriterion("pay_money in", values, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyNotIn(List<BigDecimal> values) {
            addCriterion("pay_money not in", values, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_money between", value1, value2, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_money not between", value1, value2, "payMoney");
            return (Criteria) this;
        }

        public Criteria andCostMoneyIsNull() {
            addCriterion("cost_money is null");
            return (Criteria) this;
        }

        public Criteria andCostMoneyIsNotNull() {
            addCriterion("cost_money is not null");
            return (Criteria) this;
        }

        public Criteria andCostMoneyEqualTo(BigDecimal value) {
            addCriterion("cost_money =", value, "costMoney");
            return (Criteria) this;
        }

        public Criteria andCostMoneyNotEqualTo(BigDecimal value) {
            addCriterion("cost_money <>", value, "costMoney");
            return (Criteria) this;
        }

        public Criteria andCostMoneyGreaterThan(BigDecimal value) {
            addCriterion("cost_money >", value, "costMoney");
            return (Criteria) this;
        }

        public Criteria andCostMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("cost_money >=", value, "costMoney");
            return (Criteria) this;
        }

        public Criteria andCostMoneyLessThan(BigDecimal value) {
            addCriterion("cost_money <", value, "costMoney");
            return (Criteria) this;
        }

        public Criteria andCostMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("cost_money <=", value, "costMoney");
            return (Criteria) this;
        }

        public Criteria andCostMoneyIn(List<BigDecimal> values) {
            addCriterion("cost_money in", values, "costMoney");
            return (Criteria) this;
        }

        public Criteria andCostMoneyNotIn(List<BigDecimal> values) {
            addCriterion("cost_money not in", values, "costMoney");
            return (Criteria) this;
        }

        public Criteria andCostMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cost_money between", value1, value2, "costMoney");
            return (Criteria) this;
        }

        public Criteria andCostMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cost_money not between", value1, value2, "costMoney");
            return (Criteria) this;
        }

        public Criteria andProfitIsNull() {
            addCriterion("profit is null");
            return (Criteria) this;
        }

        public Criteria andProfitIsNotNull() {
            addCriterion("profit is not null");
            return (Criteria) this;
        }

        public Criteria andProfitEqualTo(BigDecimal value) {
            addCriterion("profit =", value, "profit");
            return (Criteria) this;
        }

        public Criteria andProfitNotEqualTo(BigDecimal value) {
            addCriterion("profit <>", value, "profit");
            return (Criteria) this;
        }

        public Criteria andProfitGreaterThan(BigDecimal value) {
            addCriterion("profit >", value, "profit");
            return (Criteria) this;
        }

        public Criteria andProfitGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("profit >=", value, "profit");
            return (Criteria) this;
        }

        public Criteria andProfitLessThan(BigDecimal value) {
            addCriterion("profit <", value, "profit");
            return (Criteria) this;
        }

        public Criteria andProfitLessThanOrEqualTo(BigDecimal value) {
            addCriterion("profit <=", value, "profit");
            return (Criteria) this;
        }

        public Criteria andProfitIn(List<BigDecimal> values) {
            addCriterion("profit in", values, "profit");
            return (Criteria) this;
        }

        public Criteria andProfitNotIn(List<BigDecimal> values) {
            addCriterion("profit not in", values, "profit");
            return (Criteria) this;
        }

        public Criteria andProfitBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("profit between", value1, value2, "profit");
            return (Criteria) this;
        }

        public Criteria andProfitNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("profit not between", value1, value2, "profit");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andRecordTimeIsNull() {
            addCriterion("record_time is null");
            return (Criteria) this;
        }

        public Criteria andRecordTimeIsNotNull() {
            addCriterion("record_time is not null");
            return (Criteria) this;
        }

        public Criteria andRecordTimeEqualTo(Date value) {
            addCriterion("record_time =", value, "recordTime");
            return (Criteria) this;
        }

        public Criteria andRecordTimeNotEqualTo(Date value) {
            addCriterion("record_time <>", value, "recordTime");
            return (Criteria) this;
        }

        public Criteria andRecordTimeGreaterThan(Date value) {
            addCriterion("record_time >", value, "recordTime");
            return (Criteria) this;
        }

        public Criteria andRecordTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("record_time >=", value, "recordTime");
            return (Criteria) this;
        }

        public Criteria andRecordTimeLessThan(Date value) {
            addCriterion("record_time <", value, "recordTime");
            return (Criteria) this;
        }

        public Criteria andRecordTimeLessThanOrEqualTo(Date value) {
            addCriterion("record_time <=", value, "recordTime");
            return (Criteria) this;
        }

        public Criteria andRecordTimeIn(List<Date> values) {
            addCriterion("record_time in", values, "recordTime");
            return (Criteria) this;
        }

        public Criteria andRecordTimeNotIn(List<Date> values) {
            addCriterion("record_time not in", values, "recordTime");
            return (Criteria) this;
        }

        public Criteria andRecordTimeBetween(Date value1, Date value2) {
            addCriterion("record_time between", value1, value2, "recordTime");
            return (Criteria) this;
        }

        public Criteria andRecordTimeNotBetween(Date value1, Date value2) {
            addCriterion("record_time not between", value1, value2, "recordTime");
            return (Criteria) this;
        }

        public Criteria andSourceIsNull() {
            addCriterion("source is null");
            return (Criteria) this;
        }

        public Criteria andSourceIsNotNull() {
            addCriterion("source is not null");
            return (Criteria) this;
        }

        public Criteria andSourceEqualTo(String value) {
            addCriterion("source =", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotEqualTo(String value) {
            addCriterion("source <>", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceGreaterThan(String value) {
            addCriterion("source >", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceGreaterThanOrEqualTo(String value) {
            addCriterion("source >=", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceLessThan(String value) {
            addCriterion("source <", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceLessThanOrEqualTo(String value) {
            addCriterion("source <=", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceLike(String value) {
            addCriterion("source like", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotLike(String value) {
            addCriterion("source not like", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceIn(List<String> values) {
            addCriterion("source in", values, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotIn(List<String> values) {
            addCriterion("source not in", values, "source");
            return (Criteria) this;
        }

        public Criteria andSourceBetween(String value1, String value2) {
            addCriterion("source between", value1, value2, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotBetween(String value1, String value2) {
            addCriterion("source not between", value1, value2, "source");
            return (Criteria) this;
        }

        public Criteria andChannelIsNull() {
            addCriterion("channel is null");
            return (Criteria) this;
        }

        public Criteria andChannelIsNotNull() {
            addCriterion("channel is not null");
            return (Criteria) this;
        }

        public Criteria andChannelEqualTo(String value) {
            addCriterion("channel =", value, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelNotEqualTo(String value) {
            addCriterion("channel <>", value, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelGreaterThan(String value) {
            addCriterion("channel >", value, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelGreaterThanOrEqualTo(String value) {
            addCriterion("channel >=", value, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelLessThan(String value) {
            addCriterion("channel <", value, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelLessThanOrEqualTo(String value) {
            addCriterion("channel <=", value, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelLike(String value) {
            addCriterion("channel like", value, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelNotLike(String value) {
            addCriterion("channel not like", value, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelIn(List<String> values) {
            addCriterion("channel in", values, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelNotIn(List<String> values) {
            addCriterion("channel not in", values, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelBetween(String value1, String value2) {
            addCriterion("channel between", value1, value2, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelNotBetween(String value1, String value2) {
            addCriterion("channel not between", value1, value2, "channel");
            return (Criteria) this;
        }

        public Criteria andExtraIsNull() {
            addCriterion("extra is null");
            return (Criteria) this;
        }

        public Criteria andExtraIsNotNull() {
            addCriterion("extra is not null");
            return (Criteria) this;
        }

        public Criteria andExtraEqualTo(String value) {
            addCriterion("extra =", value, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraNotEqualTo(String value) {
            addCriterion("extra <>", value, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraGreaterThan(String value) {
            addCriterion("extra >", value, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraGreaterThanOrEqualTo(String value) {
            addCriterion("extra >=", value, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraLessThan(String value) {
            addCriterion("extra <", value, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraLessThanOrEqualTo(String value) {
            addCriterion("extra <=", value, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraLike(String value) {
            addCriterion("extra like", value, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraNotLike(String value) {
            addCriterion("extra not like", value, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraIn(List<String> values) {
            addCriterion("extra in", values, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraNotIn(List<String> values) {
            addCriterion("extra not in", values, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraBetween(String value1, String value2) {
            addCriterion("extra between", value1, value2, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraNotBetween(String value1, String value2) {
            addCriterion("extra not between", value1, value2, "extra");
            return (Criteria) this;
        }

        public Criteria andOrderRatioIsNull() {
            addCriterion("order_ratio is null");
            return (Criteria) this;
        }

        public Criteria andOrderRatioIsNotNull() {
            addCriterion("order_ratio is not null");
            return (Criteria) this;
        }

        public Criteria andOrderRatioEqualTo(String value) {
            addCriterion("order_ratio =", value, "orderRatio");
            return (Criteria) this;
        }

        public Criteria andOrderRatioNotEqualTo(String value) {
            addCriterion("order_ratio <>", value, "orderRatio");
            return (Criteria) this;
        }

        public Criteria andOrderRatioGreaterThan(String value) {
            addCriterion("order_ratio >", value, "orderRatio");
            return (Criteria) this;
        }

        public Criteria andOrderRatioGreaterThanOrEqualTo(String value) {
            addCriterion("order_ratio >=", value, "orderRatio");
            return (Criteria) this;
        }

        public Criteria andOrderRatioLessThan(String value) {
            addCriterion("order_ratio <", value, "orderRatio");
            return (Criteria) this;
        }

        public Criteria andOrderRatioLessThanOrEqualTo(String value) {
            addCriterion("order_ratio <=", value, "orderRatio");
            return (Criteria) this;
        }

        public Criteria andOrderRatioLike(String value) {
            addCriterion("order_ratio like", value, "orderRatio");
            return (Criteria) this;
        }

        public Criteria andOrderRatioNotLike(String value) {
            addCriterion("order_ratio not like", value, "orderRatio");
            return (Criteria) this;
        }

        public Criteria andOrderRatioIn(List<String> values) {
            addCriterion("order_ratio in", values, "orderRatio");
            return (Criteria) this;
        }

        public Criteria andOrderRatioNotIn(List<String> values) {
            addCriterion("order_ratio not in", values, "orderRatio");
            return (Criteria) this;
        }

        public Criteria andOrderRatioBetween(String value1, String value2) {
            addCriterion("order_ratio between", value1, value2, "orderRatio");
            return (Criteria) this;
        }

        public Criteria andOrderRatioNotBetween(String value1, String value2) {
            addCriterion("order_ratio not between", value1, value2, "orderRatio");
            return (Criteria) this;
        }

        public Criteria andCustomerRatioIsNull() {
            addCriterion("customer_ratio is null");
            return (Criteria) this;
        }

        public Criteria andCustomerRatioIsNotNull() {
            addCriterion("customer_ratio is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerRatioEqualTo(String value) {
            addCriterion("customer_ratio =", value, "customerRatio");
            return (Criteria) this;
        }

        public Criteria andCustomerRatioNotEqualTo(String value) {
            addCriterion("customer_ratio <>", value, "customerRatio");
            return (Criteria) this;
        }

        public Criteria andCustomerRatioGreaterThan(String value) {
            addCriterion("customer_ratio >", value, "customerRatio");
            return (Criteria) this;
        }

        public Criteria andCustomerRatioGreaterThanOrEqualTo(String value) {
            addCriterion("customer_ratio >=", value, "customerRatio");
            return (Criteria) this;
        }

        public Criteria andCustomerRatioLessThan(String value) {
            addCriterion("customer_ratio <", value, "customerRatio");
            return (Criteria) this;
        }

        public Criteria andCustomerRatioLessThanOrEqualTo(String value) {
            addCriterion("customer_ratio <=", value, "customerRatio");
            return (Criteria) this;
        }

        public Criteria andCustomerRatioLike(String value) {
            addCriterion("customer_ratio like", value, "customerRatio");
            return (Criteria) this;
        }

        public Criteria andCustomerRatioNotLike(String value) {
            addCriterion("customer_ratio not like", value, "customerRatio");
            return (Criteria) this;
        }

        public Criteria andCustomerRatioIn(List<String> values) {
            addCriterion("customer_ratio in", values, "customerRatio");
            return (Criteria) this;
        }

        public Criteria andCustomerRatioNotIn(List<String> values) {
            addCriterion("customer_ratio not in", values, "customerRatio");
            return (Criteria) this;
        }

        public Criteria andCustomerRatioBetween(String value1, String value2) {
            addCriterion("customer_ratio between", value1, value2, "customerRatio");
            return (Criteria) this;
        }

        public Criteria andCustomerRatioNotBetween(String value1, String value2) {
            addCriterion("customer_ratio not between", value1, value2, "customerRatio");
            return (Criteria) this;
        }

        public Criteria andAddressClickNumIsNull() {
            addCriterion("address_click_num is null");
            return (Criteria) this;
        }

        public Criteria andAddressClickNumIsNotNull() {
            addCriterion("address_click_num is not null");
            return (Criteria) this;
        }

        public Criteria andAddressClickNumEqualTo(Integer value) {
            addCriterion("address_click_num =", value, "addressClickNum");
            return (Criteria) this;
        }

        public Criteria andAddressClickNumNotEqualTo(Integer value) {
            addCriterion("address_click_num <>", value, "addressClickNum");
            return (Criteria) this;
        }

        public Criteria andAddressClickNumGreaterThan(Integer value) {
            addCriterion("address_click_num >", value, "addressClickNum");
            return (Criteria) this;
        }

        public Criteria andAddressClickNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("address_click_num >=", value, "addressClickNum");
            return (Criteria) this;
        }

        public Criteria andAddressClickNumLessThan(Integer value) {
            addCriterion("address_click_num <", value, "addressClickNum");
            return (Criteria) this;
        }

        public Criteria andAddressClickNumLessThanOrEqualTo(Integer value) {
            addCriterion("address_click_num <=", value, "addressClickNum");
            return (Criteria) this;
        }

        public Criteria andAddressClickNumIn(List<Integer> values) {
            addCriterion("address_click_num in", values, "addressClickNum");
            return (Criteria) this;
        }

        public Criteria andAddressClickNumNotIn(List<Integer> values) {
            addCriterion("address_click_num not in", values, "addressClickNum");
            return (Criteria) this;
        }

        public Criteria andAddressClickNumBetween(Integer value1, Integer value2) {
            addCriterion("address_click_num between", value1, value2, "addressClickNum");
            return (Criteria) this;
        }

        public Criteria andAddressClickNumNotBetween(Integer value1, Integer value2) {
            addCriterion("address_click_num not between", value1, value2, "addressClickNum");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}